1. Field of the Invention
The present invention relates generally to a method and apparatus for increasing a speed at which data is read from a Subscriber Identity Module (SIM), and in particular, to a method and apparatus for efficiently reducing the time required to read data from a SIM.
2. Description of the Related Art
Smart card modules such as a SIM, a User Identity Module (UIM), and a Universal Subscriber Identity Module (USIM) are widely used in mobile terminals. A SIM card, which is inserted into a European Global System for Mobile communication (GSM) terminal, stores non-volatile data such as a personal phonebook, carries out limited encryption, and implements software. A UIM card supports multiple modes in Code Division Multiple Access (CDMA) and GSM terminals. A USIM card is inserted into a 3rd Generation (3G) mobile terminal.
The SIM card is selected as an example and described below with reference to FIG. 1. FIG. 1 illustrates the file system structure for a typical SIM card.
Referring to FIG. 1, the file system of the SIM card includes a Master File (MF), Dedicated Files (DFs) and Elementary Files (EFs). When the SIM card operates, the MF is the first to be selected and set as the current directory. The DFs are dedicated files for respective services to support multiple functions required for service provider-specific services (telecom service) and GSM services. Each DF has a plurality of EFs for storing data used for each service.
The thus-configured SIM card has been developed to store a variety of data for which its memory capacity continues to increase from tens of kilobytes to hundreds of kilobytes and its operation correspondingly needs to be speedy.
However, when a SIM card is inserted into a mobile terminal, the terminal commences to read all data stored on the SIM card. Therefore, the time taken for reading the data increases with memory capacity. This will be described in more detail, with an example of reading EF Abbreviated Dialing Numbers (EFADN) having phonebook data. FIG. 2 is a diagram illustrating a conventional signal flow for reading data from EFADN.
Referring to FIG. 2, when a user selects a phonebook menu, a Mobile Equipment (ME) 10 transmits a Select EFADN command to a SIM 20 in order to select a particular file having phonebook data in step 30. That is, the ME 10 selects a corresponding EF before reading data from EFADN. In step 40, the SIM 20 transmits a response allowing reading of EFADN information from an EF Access Rule Reference (EFARR) to the ME 10. Since a reference to the access rule of EFADN is stored in EFARR, the SIM 20 notifies of the position of information about EFADN in EFARR. The EFADN information includes an EFADN ID, record numbers, and the like. The record number is used to identify each field because a large amount of data with the same characteristic is stored in one EF in a linear fixed type that stores data in records.
EFADN for storing phonebook data has the configuration illustrated in FIG. 3. FIG. 3 illustrates a capture of the state of data stored in EFADN. Although data is stored in the first and third records as illustrated in FIG. 3, the ME 10 transmits as many Read Record commands as the total number of records in EFADN to the SIM 20 in order to read data from EFADN in step 50. Given 500 records in EFADN, the ME 10 transmits 500 Read Record commands to the SIM 20. Even if data are stored only in part of the records of EFADN, as many Read Record commands as the total number of the records are transmitted.
While at present, the typical SIM card accommodates 100 to 250 phonebook records, a SIM card having 500 phonebook records has been produced. Since the number of phonebook records is increasing to a multiple of 250, there exists a need for increasing a speed at which an EF of a phonebook record type or any other record type is read.
Moreover, the memory capacity of the SIM card is increasing exponentially from 32K up to 128K and phonebook lists that can be stored in EFADN are also increasing by multiple times. At present, upon initial booting, the ME processes an initialization process with the SIM in the simple form of an idle state display but when the user selects a phonebook menu, the ME has to read actual phonebook data. Hence, as the amount of phonebook data increases, the time taken to enter the menu increases. As a result, the time for notifying of the phonebook initialization is lengthened.
For example, 40 seconds is taken for a SIM card supporting 250 records, and 1 minute 30 seconds for a SIM card supporting 500 records. Therefore, the user has to wait until the phonebook initialization ends.
As described above, after power-on, the conventional ME reads all EFs from the SIM card and stores them in its cache during a SIM initialization. In the case of a record-type EF, the initialization time increases exponentially according to the number of records, thereby increasing the time for entering into an idle state. As a consequence, the time required for entering the idle state increases with the memory capacity of the SIM card.